import { createApp } from 'vue'
import './style.less'
import App from './App.vue'
// 引入 Ant Design Vue 的样式
import 'ant-design-vue/dist/reset.css'
// 引入 Ant Design Vue 组件
import Antd from 'ant-design-vue'
import * as Icons from '@ant-design/icons-vue'
// 引入路由配置
import router from './router/index.js'
// 引入API服务
import * as api from './api/api'
// 引入 Pinia 状态管理
import { createPinia } from 'pinia'
// 引入缓存管理器
import { initCacheManager } from './utils/cacheManager'

const app = createApp(App)

// 创建 Pinia 实例
const pinia = createPinia()

// 将API服务注册到全局
app.config.globalProperties.$api = api

// 注册 Pinia 状态管理
app.use(pinia)

// 注册 Ant Design Vue 组件
app.use(Antd)

// 注册路由
app.use(router)

// 注册所有图标
Object.keys(Icons).forEach(key => {
  if (key !== 'default') {
    app.component(key, Icons[key])
  }
})

app.mount('#app')

// 初始化缓存管理器
initCacheManager()
